package com.hmy.infrastructure.service.signature.dto;

import com.hmy.ccp.common.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author seven.qi 齐胜南
 * @version 1.0
 * @description
 * @date 2024/3/16 14:09
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ActorSignFieldDto extends BaseRequest {

    /**
     * 控件所在的文档标识。文档标识必须在文档列表中存在，确定要设置的控件放在哪个文档。
     */
    private String fieldDocId;
    /**
     * 控件编码。长度最大32个字符。控件编码必须在文档控件列表中存在。
     */
    private String fieldId;
    /**
     * 指定该签署控件必须使用的印章或者签名Id。
     * 注：非免验证签场景下不支持指定企业经办人的签名Id
     */
    private String sealId;
    /**
     * 控件名称。名称只是为了方便辨识，在一个文档中，多个控件可以有相同的名称，长度最大32个字符。
     */
    private String fieldName;
    /**
     * 控件类型。目前主要有二类控件：
     * 1)签章控件：
     * person_sign: 个人签名
     * corp_seal: 企业印章
     * corp_seal_cross_page：企业骑缝章
     * date_sign: 日期戳
     * remark_sign：备注区
     * 2)填写控件：
     * text_single_line: 单行文本
     * text_multi_line: 多行文本
     * number：数字控件
     * id_card：身份证号控件
     * fill_date：填写日期控件
     * multi_radio：单选框-多项控件
     * multi_checkbox：复选框-多项控件
     * picture：图片
     * select_box: 下拉选择项
     * table：表格
     */
    private String fieldType;
    /**
     * 签署位置信息
     */
    private FileFieldPositionDto position;
}
